import { request } from "../../request/index"

// pages/auth/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    orders:[],
    tabs: [
      {
        id: 0,
        name: "全部",
        isactive: true
      },
      {
        id: 1,
        name: "待付款",
        isactive: false
      },
      {
        id: 2,
        name: "代发货",
        isactive: false
      },
      {
        id: 3,
        name: "退货",
        isactive: false
      }
    ],
  },

  /**
   * 生命周期函数--监听页面加载 options只在onload中有   onshow其他是拿不到的
   */
  onLoad: function (options) {

  },
  //因为下面发送请求需要请求头token  所以需要判断是否缓存中存在token  没有则跳转到授权界面
  onShow() {
    const token = wx.getStorageSync('token');
    if (token) {
      // 1获取当前小程序的页面栈-数组 长度最大是10页面
      let pages = getCurrentPages();

      //获取传进来的type参数
      const currentType = pages[pages.length - 1].options.type
      //发送请求获取数据
      this.getOrders(currentType);
      //激活选择页面标题
      this.changeTabsIndex(currentType-1);
    }
    else{
      wx.navigateTo({
        url: '/pages/order/index',
      });
    }

  },
  //获取订单列表数据的方法
  async getOrders(type) {
    const { data: res } = await request({
      url: '/my/orders/all',
      data: type
    })
    
    this.setData({
      orders:res.message.orders.map(v=>({
        ...v,
        //将时间转化
        create_time_cn: (new Date(v.create_time*1000).toLocaleString())
      }))
    })
  },
  //通过索引修改tabs标题高亮的方法
  changeTabsIndex(index){
   //修改原数组
   let { tabs } = this.data
   tabs.forEach(item => {
     if (item.id === index) {
       item.isactive = true
     } else {
       item.isactive = false
     }
   })
   //重新赋值tabs
   this.setData({
     tabs
   })
  },
  //子组件传过来的点击事件
  handletabsClick(e) {
    // 获取传过来的索引
    const { index } = e.detail
    //通过索引高亮标题
    this.changeTabsIndex(index);
    //点击其他标题时获取其他数据
    this.getOrders(index+1);
  },

})